Cumulative Volume Delta LineThis script is a refined version of TradingView's Cumulative Volume Delta (CVD) indicator. It features a CVD line for lower time frames and automatically switches to a Simple Moving Average (SMA) line on daily time frames and higher. This functionality makes it easier to spot Volume Delta divergences on daily charts while maintaining utility on intraday time frames.
Key Features:
Line Chart and Oscillator Configuration: Unlike TradingView's standard CVD, this script can be configured as a line chart or an oscillator, enhancing flexibility and usability.
Line chart for easier divergence spotting: The line chart format is preferred for spotting divergences, providing a clearer visual representation compared to other formats.
Accurate Calculations: Many older community CVD scripts use approximate calculations that can be inaccurate. This script leverages TradingView's own calculations, which are the most accurate available without tick data feeds.
Intraday and Daily Adaptation: The Traditional CVD script is a per bar volume delta on Daily and higher timeframes and cumulative volume delta for intraday session timeframes which makes it very hard to spot divergences on higher timeframes. This script resolves that by using an SMA on daily time frames and higher.
Auto-Switching Feature: The script intelligently switches between the CVD line and the SMA line based on the active time frame. This feature can be toggled off if you prefer to use the CVD on all time frames or the SMA on all time frames.
Customizable Settings: Building on TradingView's CVD script, this version includes all the same settings in addition to the new auto-switch, SMA length etc.
About Volume Delta and Cumulative Volume Delta:
Volume Delta is the difference between the buying and selling volume within a specified period. It helps traders understand the net buying or selling pressure in the market. A positive volume delta indicates more buying activity, while a negative volume delta indicates more selling activity.
Cumulative Volume Delta (CVD) aggregates the volume delta over time to provide a running total. This cumulative approach helps traders see the overall buying and selling pressure trends, making it easier to identify potential reversals or continuations in the market trend.
Komut dosyalarını "THE SCRIPT" için ara
PriceCatch Volume Analysis Fixed RangeHi TV Community.
It's been sometime since I published any script / utility. But today, I am back with a new script.
Volume Analysis
Studying volume when in trade or before taking one is very important as seasoned traders would tell you. So, this script helps you to look at volume over a specific interval from current bar. You will have to set the look-back period in the settings dialog.
The script will then show over that period :
Number of Up and Down bars
Volume Ratio of Up Volume over Down Volume
Actual Up and Down Volume
Percentage of Up Volume to Down Volume
I use this information in all my trades and hope that you will also find this Script useful.
To my knowledge, I have not seen another volume analysis script that helps see volume in the way this script does.
NOTE:
This script does not give any buy or sell signal if that is what you are looking for. But if you see that Up Volume is 3 times Down Volume, then that should mean something to you. So also when price is slipping down.
Disclaimer
I am sharing this Script without any warranties as to its usability. Use it only if you like it. As always when it comes to trading you and you alone are responsible for your actions.
All the best with your trades.
PriceCatch
NVT Z-ScoreNVT Z-Score Script:
Data Source and Calculation: This script calculates the NVT ratio by dividing the market cap (assumed from QUANDL data) by a 90-day MA of the transaction volume (also from QUANDL), similar to the NVTS calculation. However, the adaptation lies in further analyzing the NVT ratio through a Z-score approach, not explicitly described in the original NVTS methodology.
Z-Score Analysis: The script calculates the mean and standard deviation of the NVT ratio over a user-defined period (daysForMean, defaulting to 180 days) and then computes the Z-score of the current NVT ratio relative to this historical data. This Z-score analysis introduces a standardized way of understanding the NVT ratio's deviation from its historical average, offering a nuanced view of market valuation states.
Visualization and Dynamic Zones: The visualization emphasizes Z-score-based dynamic zones (green, yellow, and red), determined by the stdDevMultiplier. These zones are plotted and filled on the chart, providing visual cues for interpreting the NVT ratio's current state in relation to its historical norm. This aspect significantly differs from the traditional NVTS approach by directly incorporating the concept of standard deviation and Z-scores into the analysis.
Fractional Differentiation█ Description
This Pine Script indicator implements fractional differentiation, a mathematical operation that extends the concept of differentiation to non-integer orders. Fractional differentiation is particularly significant in financial analysis, as it enables analysts to uncover underlying patterns in price series that are not evident with traditional integer-order differentiation. The motivation behind fractional differencing lies in its ability to balance the trade-off between retaining data/feature memory and ensuring stationarity.
█ Significance
Fractional differentiation offers a nuanced view of market data, allowing for the adjustment of the differentiation order to balance between signal clarity and noise reduction. This is especially useful in financial markets, where the choice of differentiation order can highlight long-term trends or short-term price movements without completely smoothing out the valuable market noise.
█ Approximations Used
The implementation relies on the Gamma function for the computation of coefficients in the fractional differentiation formula. Given the complexity of the Gamma function, this script uses an approximation method based on the Lanczos approximation for the logarithm of the Gamma function, as detailed in "An Analysis Of The Lanczos Gamma Approximation" by Glendon Ralph Pugh (2004). This approximation strikes a balance between computational efficiency and accuracy, making it suitable for real-time market analysis in Pine Script.
█ Limitations
While this script opens new avenues for market analysis, it comes with inherent limitations:
- The approximation of the Gamma function, although accurate, is not exact. The precision of the fractional differentiation result may vary slightly, especially for higher-order differentiations.
- The script's performance is subject to Pine Script's execution environment, with a default loop limit set to 100 iterations for practicality. Users might need to adjust this limit based on their specific use case, balancing between computational load and the desired depth of historical data analysis.
█ Credits
This script makes use of the `MathSpecialFunctionsGamma` library, authored by Ricardo Santos . This library provides essential mathematical functions, including an approximation of the Gamma function, which is crucial for the fractional differentiation calculation.
I also extend my sincere gratitude to
Dr. Marcos López de Prado for his seminal work, Advances in Financial Machine Learning (2018). Dr. López de Prado's insights have significantly influenced our approach to developing sophisticated analytical tools.
Dr. Ernie Chan for his freely and generously sharing valuable insights via discourse on quantitative trading strategies through his talks and publications.
Liquidity SpotterIndicator Setup:
The script sets up a TradingView indicator titled "Liquidity Spotter" with a short title "PWWTC LS". It's designed to overlay on the price chart (overlay=true).
Input Variables:
The script defines input variables that allow users to customize the behavior of the indicator:
atr_length: Length of the Average True Range (ATR) used in calculations.
volume_multiplier: Multiplier used to compare the volume of the current bar with the average volume.
range_multiplier: Multiplier used to calculate the range condition.
highlight_color: Color used to highlight bars when conditions are met.
Calculations:
The script calculates the ATR and average volume using the ta.atr and ta.sma functions provided by TradingView's Pine Script.
It sets the avg_range to the value of the ATR, essentially making it the same as atr_value.
Conditions:
The script checks several conditions based on the calculated values:
range_condition: Compares the range (high - low) of the current bar with the average range multiplied by the range multiplier.
volume_condition: Compares the volume of the current bar with the average volume multiplied by the volume multiplier.
range_volume_condition: Compares the ratio of range to volume with the ratio of average range to average volume.
Plotting:
Based on the conditions being met or not, the script sets the color of the price bars. If all conditions are met, the color of the bars will be set to highlight_color, otherwise, it will remain unchanged (na).
Overall, this script visually highlights price bars on the chart where specific conditions related to range, volume, and their ratio are met, potentially indicating trading opportunities.
Kzx | RSI + Div + MACDComponents Description:
Relative Strength Index (RSI):
Purpose: Measures the magnitude of recent price changes to evaluate overbought or oversold conditions in the price of a stock or other asset.
Implementation: The script allows users to set the length of the RSI calculation and defines overbought and oversold levels, which can be visually represented on the chart. Additional features include options to fill and/or color the background of the chart when overbought or oversold levels are reached.
Divergence (Div):
Purpose: Identifies instances where the price of an asset is moving in the opposite direction of a momentum indicator, such as the RSI in this script. Divergences can signal potential trend reversals.
Implementation: The script provides options for users to define the conditions under which divergences are identified, including the source of price tops/bottoms, detection limits, and the maximum lookback period for divergence analysis. It visually highlights these divergences on the chart.
Moving Average Convergence Divergence (MACD):
Purpose: Tracks the relationship between two moving averages of a security's price. The MACD is used to identify trend direction, momentum, and potential reversal points through crossovers.
Implementation: The script calculates the MACD line and its signal line. It plots buy or sell markers based on crossovers between these two lines, indicating potential entry or exit points.
Script Category:
Category: Technical Analysis / Indicators and Strategies
Subcategory: Oscillators (for RSI and MACD) and Trend Analysis (for Divergence)
Usage:
The script is designed for traders and analysts who rely on technical analysis to make informed decisions in the financial markets. By integrating RSI, divergence detection, and MACD analysis into a single script, users can gain a more nuanced understanding of market conditions, potentially improving their trading strategies.
Customization and Visualization:
Users can customize various parameters, including lengths for RSI and MACD, overbought/oversold levels, divergence detection criteria, and visual aspects like colors and marker sizes.
The script provides visual cues directly on the price chart, making it easy to spot potential buy/sell signals, overbought/oversold conditions, and divergences without the need to switch between different indicators.
Fusion Traders - RSI Overbought/Oversold + Divergence IndicatorFusion Traders - RSI Overbought/Oversold + Divergence Indicator - new version
This indicator has lots of various add ons.
RSI overbought / oversold with changeable inputs
Divergence indicator
DESCRIPTION:
This script combines the Relative Strength Index ( RSI ), Moving Average and Divergence indicator to make a better decision when to enter or exit a trade.
- The Moving Average line (MA) has been made hidden by default but enhanced with an RSIMA cloud.
- When the RSI is above the selected MA it turns into green and when the RSI is below the select MA it turns into red.
- When the RSI is moving into the Overbought or Oversold area, some highlighted areas will appear.
- When some divergences or hidden divergences are detected an extra indication will be highlighted.
- When the divergence appear in the Overbought or Oversold area the more weight it give to make a decision.
- The same colour pallet has been used as the default candlestick colours so it looks familiar.
HOW TO USE:
The prerequisite is that we have some knowledge about the Elliot Wave Theory, the Fibonacci Retracement and the Fibonacci Extension tools.
We are hoping you like this indicator and added to your favourite indicators. If you have any question then comment below, and I'll do my best to help.
FEATURES:
• You can show/hide the RSI .
• You can show/hide the MA.
• You can show/hide the lRSIMA cloud.
• You can show/hide the Stoch RSI cloud.
• You can show/hide and adjust the Overbought and Oversold zones.
• You can show/hide and adjust the Overbought Extended and Oversold Extended zones.
• You can show/hide the Overbought and Oversold highlighted zones.
HOW TO GET ACCESS TO THE SCRIPT:
• Favorite the script and add it to your chart.
BreakoutTrendFollowingINFO:
The "BreakoutTrendFollowing" indicator is a comprehensive trading system designed for trend-following in various market environments. It combines multiple technical indicators, including Moving Averages (MA), MACD, and RSI,
along with volume analysis and breakout detection from consolidation, to identify potential entry points in trending markets. This strategy is particularly effective for assets that exhibit strong trends and significant price movements.
Note that using the consolidation filter reduces the amount of entries the strategy detects significantly, and needs to be used if we want to have an increased confidence in the trend via breakout.
However, the strategy can be easily transformed to various only trend-following strategies, by applying different filters and configurations.
The indicator can be used to connect to the Signal input of the TTS (TempalteTradingStrategy) by jason5480 in order to backtest it, thus effectively turning it into a strategy (instructions below in TTS CONNECTIVITY section)
DETAILS:
The strategy's core is built upon several key components:
Moving Average (MA): Used to determine the general trend direction. The strategy checks if the price is above the selected MA type and length.
MACD Filter: Analyzes the relationship between two moving averages to confirm the trend's momentum.
Consolidation Detection: Identifies periods of price consolidation and triggers trades on breakouts from these ranges.
Volume Analysis: Assesses trading volume to confirm the strength and validity of the breakout.
RSI: Used to avoid overbought conditions, ensuring trades are entered in favorable market situations.
Wick filters: make sure there is not a long wick that indicates selling pressure from above
The strategy generates buy signals when several conditions are met concurrently (each one of them can be individually enabled/disabled)"
The price is above the selected MA.
A breakout occurs from a configurable consolidation range.
The MACD line is above the signal line, indicating bullish momentum.
The RSI is below the overbought threshold.
There's an increase in trading volume, confirming the breakout's strength.
Currently the strategy fires SL signals, as the approach is to check for loss of momentum - i.e. crossunder of the MACD line and signal line, but that is to everyone to determine the exit conditions.
The buy and SL signals are set on the chart using green or orange triangles on the below/above the price action.
SETTINGS:
Users can customize various parameters, including MA type and period, MACD settings, consolidation length, and volume increase percentage. The strategy is equipped with alert conditions for both entry (buy signals) and exit (set stop loss) points, facilitating both manual and automated trading.
Each one of the technical indicators, as well as the consilidation range and breakout/wick settings can be configured and enabled/disabled individually.
Please thoroughly review the available settings of the script, but here is an outline of the most important ones:
Use bar wicks (instead of open/close) - the ref_high/low will be taken based on the bar wicks, rather than the open/close when determining the breakout and MA
Enter position only on green candles - additional filters to make sure that we enter only on strong momentum
MA Filter: (enable, source, type, length) - general settings for MA filter to be checked against the stock price (close or upper wick)
MACD Filter: (enable, source, Osc MA type, Signal MA type, Fast MA length, Slow MA length, Low MACD Hist) - detailed settings for fine MACD tuning
Consolidation:
Consolidation Type: we have two different ways of detecting the consolidation, note the types below.
CONSOLIDATION_BASIC - consolidation areas by looking for the pivot point of a trend and counts the number of bars that have not broken the consolidation high/low levels.
CONSOLIDATIO_RANGE_PERCENT - identifies consolidation by comparing the range between the highest and lowest price points over a specified period.
So in summary the CONSOLIDATIO_RANGE_PERCENT uses a percentage-based range to define consolidation, while CONSOLIDATION_BASIC uses a count of bars within a high-low range to establish consolidation.
Thus the former is more focused on the tightness of the price range, whereas the latter emphasizes the duration of the consolidation phase.
The CONSOLIDATIO_RANGE_PERCENT might be more sensitive to recent price movements and suitable for shorter-term analysis, while CONSOLIDATION_BASIC could be better for identifying longer-term consolidation patterns.
Min consolidation length - applicable for CONSOLIDATION_BASIC case, the min number of bars for the price to be in the range to consider consolidation
Consolidation Loopback period - applicable for CONSOLIDATION_BASIC case, the loopback number of bars to look for consolidation
Consolidation Range percent - applicable for CONSOLIDATIO_RANGE_PERCENT, the percent between the high and low in the range to consider consolidation
Plot consolidation - enables plotting of the consolidation (only for debug purposes)
Breakout: (enable, low, high) - the definition of the breakout from the previous consolidation range, the price should be between to determine the breakout as successfull
Upper wick: (enable, percent) - defines the percent of the upper wick compared to the whole candle to allow breakout (if the wick is too big part of the candle we can consider entering the position riskier)
RSI: (enable, length, overbought) - general settings for RSI TA
Volume (enbale, percentage increase, average volume filter en, loopback bars) - percentage of increase of the volume to consider for a breakout. There are two modes - percentage increase compared to the previous bar, or percentage against the average volume for the last loopback bars.
Note that there are many different configuration that you can play with, and I believe this is the strength of the strategy, as it can provide a single solution for different cases and scenarios.
My advice is to try and play with the different options for different markets based on the approach you want to implement and try turning features on/off and tuning them further.
TTS SETTINGS (NEEDED IF USED TO BACKTEST WITH TTS):
The TempalteTradingStrategy is a strategy script developed in Pine by jason5480, which I recommend for quick turn-around of testing different ideas on a proven and tested framework
I cannot give enough credit to the developer for the efforts put in building of the infrastructure, so I advice everyone that wants to use it first to get familiar with the concept and by checking
by checking jason5480's profile www.tradingview.com
The TTS itself is extremely functional and have a lot of properties, so its functionality is beyond the scope of the current script -
Again, I strongly recommend to be thoroughly explored by everyone that plans on using it.
In the nutshell it is a script that can be feed with buy/sell signals from an external indicator script and based on many configuration options it can determine how to execute the trades.
The TTS has many settings that can be applied, so below I will cover only the ones that differ from the default ones, at least according to my testing - do your own research, you may find something even better :)
The current/latest version that I've been using as of writing and testing this script is TTSv48
Settings which differ from the default ones:
Deal Conditions Mode - External (take enter/exit conditions from an external script)
🔌Signal 🛈➡ - BreakoutTrendFollowing: 🔌Signal to TTS (this is the output from the indicator script, according to the TTS convention)
Order Type - STOP (perform stop order)
Distance Method - HHLL (HigherHighLowerLow - in order to set the SL according to the strategy definition from above)
The next are just personal preferences, you can feel free to experiment according to your trading style
Take Profit Targets - 0 (either 100% in or out, no incremental stepping in or out of positions)
Dist Mul|Len Long/Short- 10 (make sure that we don't close on profitable trades by any reason)
Quantity Method - EQUITY (personal backtesting preference is to consider each backtest as a separate portfolio, so determine the position size by 100% of the allocated equity size)
Equity % - 100 (note above)
PB wTF50What kind of traders/investors are we?
We are trend followers, always on the lookout for the next big move in the market. Our scripts are meticulously crafted for higher timeframes (daily, weekly, monthly) aiming to capture the large market trends.
What does this script do?
The Pb wTF50 script simplifies the complex world of investing by colour-coding bars to indicate the trend direction. Green bars signify a bullish trend, red indicates a bearish trend, and a combination of both signifies a sideways market. This visual representation ensures investors can quickly gauge the market's direction and act accordingly.
How is the PB wTF50 produced?
The PB wTF50 script employs the simple moving averages (SMAs) as its backbone. Bars positioned above both the SMAs turn green, indicating a bullish trend. Conversely, bars below these SMAs turn red, signalling a bearish trend.
What is the best timeframe to use the script?
The PB wTF50 script is designed for the weekly timeframe. This ensures that traders and investors are aligned with the long-term market trend, filtering out the noise of shorter timeframes.
What makes this script unique?
The challenges of identifying the onset, progression, and culmination of trends are well-known in the investing community. The PbF script addresses these challenges head-on.
The PB wTF50 is not a lagging indicator. It is aligned with price movement, which helps investors and traders focus on what the asset’s price is doing. The asset’s price is the primary indicator of its direction.
Lagging indicators can be used alongside the PB wTF50 to confirm the asset’s direction.
The PBwTF50 continues to remain green during extended periods of bullish pullbacks and red during extended periods of bearish pullbacks. This helps investors and traders hold positions during corrections in the market.
When interacting with OB/OS zones, investors and traders are positioned to align with the trend and ignore short-term fluctuations against the trend.
The PB wTF50 can be used to enter additional positions, also known as compounding, when an asset’s price has pulled back into an OS zone, but the trend filter has remained green in a bull trend/OB zone, but the trend filter has remained red in a bear trend.
In essence, the PB wTF50 script is a trend filter that gives investors and traders the ability to apply discretion with the start and end of long-term trends as they develop.
41-80 F&O MA ScreenerThis Pine Script is a TradingView indicator named "41-80-F&O EMA Screener." It calculates and displays four moving averages (MA1, MA2, MA3, and MA4) and the Relative Strength Index (RSI) on a chart. The script generates buy and short signals based on certain conditions involving the moving averages and RSI. Additionally, it includes a screener section that displays a table of symbols with buy and short signals.
Here's a breakdown of the key components:
Moving Averages (MAs):
MA1: Simple Moving Average with length len1 (green line).
MA2: Simple Moving Average with length len2 (red line).
MA3: Simple Moving Average with length len3 (orange line).
MA4: Simple Moving Average with length len4 (black line).
Relative Strength Index (RSI):
The RSI is calculated with a length of rsiLengthInput and a source specified by rsiSourceInput.
Conditions for Buy and Short Signals:
Buy Signal: When MA1 is above MA2 and MA3, and RSI is above 50.
Short Signal: When MA1 is below MA2 and MA3, and RSI is below 50.
Signal Plots:
Buy signals are plotted as "B" below the corresponding bars.
Short signals are plotted as "S" above the corresponding bars.
Background Coloring:
Bars are colored based on their opening and closing prices.
Screener Section:
The script defines a watchlist (gticker) with 40 predefined symbols.
It then calls the getSignal function for each symbol to identify buy and short signals.
The results are displayed in a table with long signals in green and short signals in red.
Table Theming:
The script allows customization of the table's background, frame, and text colors, as well as the text size.
The table's location on the chart can also be customized.
Please note that the script uses the Mozilla Public License 2.0. Make sure to review and comply with the terms of this license if you plan to use or modify the script.
COT MCIThe COT MCI script is a market indicator based on the data from the Commitment of Traders Reports.
Integration of COT Report Data:
The script sources COT data from futures contracts, including:
Treasury Bonds (ZB), Dollar Index (DX), 10-Year Treasury Notes (ZN)
Commodities like Soybeans (ZS), Soy Meal (ZM), Soy Oil (ZL), Corn (ZC), Wheat (ZW), Kansas City Wheat (KE), Pork (HE), Cattle (LE)
Precious Metals such as Gold (GC), Silver (SI), Palladium (PA), Platinum (PL)
Industrial Metals like Copper (HG), Aluminum (AUP), Steel (HRC)
Energy Products like Crude Oil (CL), Heating Oil (HO), Gasoline (RB), Natural Gas (NG), Brent Crude (BB)
Currencies such as AUD (6A), GBP (6B), CAD (6C), EUR (6E), JPY (6J), CHF (6S), NZD (6N), BRL (6L), MXN (6M), RUB (6R), ZAR (6Z)
Others: Sugar (SB), Coffee (KC), Cocoa (CC), Cotton (CT), Ethanol (EH), Rice (ZR), Oats (ZO), Whey (DC), Orange Juice (OJ), Lumber (LBS), Livestock (GF), E-mini S&P 500 (ES), E-mini Russell 2000 (RTY), E-mini Dow Jones (YM), E-mini NASDAQ-100 (NQ), VIX Futures (VX), S&P 500 (SP), DJIA (DJIA)
Cryptocurrencies such as Bitcoin (BTC) and Ethereum (ETH)
Functions and Logic of the Script:
COT Calculation: Determines the net positions for commercial actors and large speculators. Also Available are short and long positions of commercials or large speculators.
Position Change Analysis: Analyzes the percentage changes in net positions and open interest data over a period of 6 weeks (Weekly Chart).
Average Value Calculation: Determines short-term and long-term trend averages.
Trend Analysis: Buy and sell signals (represented in colors) are based on linear regressions and average calculations.
Usage and Application Examples:
Ideal for traders looking for a detailed analysis of market dynamics and position changes in the futures market. Suitable for decision-making in transaction timing and assessing market sentiment.
Usage Notes:
Users should be familiar with the interpretation of COT data and basic concepts of futures trading. Particularly suitable for medium to long-term trading strategies.
Intersection Value FunctionsWinning entry for the first Pinefest contest. The challenge required providing three functions returning the intersection value between two series source1 and source2 in the event of a cross, crossunder, and crossover.
Feel free to use the code however you like.
🔶 CHALLENGE FUNCTIONS
🔹 crossValue()
//@function Finds intersection value of 2 lines/values if any cross occurs - First function of challenge -> crossValue(source1, source2)
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@returns Intersection value
example:
value = crossValue(close, close )
🔹 crossoverValue()
//@function Finds intersection value of 2 lines/values if crossover occurs - Second function of challenge -> crossoverValue(source1, source2)
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@returns Intersection value
example:
value = crossoverValue(close, close )
🔹 crossunderValue()
//@function Finds intersect of 2 lines/values if crossunder occurs - Third function of challenge -> crossunderValue(source1, source2)
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@returns Intersection value
example:
value = crossunderValue(close, close )
🔶 DETAILS
A series of values can be displayed as a series of points, where the point location highlights its value, however, it is more common to connect each point with a line to have a continuous aspect.
A line is a geometrical object connecting two points, each having y and x coordinates. A line has a slope controlling its steepness and an intercept indicating where the line crosses an axis. With these elements, we can describe a line as follows:
slope × x + intercept
A cross between two series of values occurs when one series is greater or lower than the other while its previous value isn't.
We are interested in finding the "intersection value", that is the value where two crossing lines are equal. This problem can be approached via linear interpolation.
A simple and direct approach to finding our intersection value is to find the common scaling factor of the slopes of the lines, that is the multiplicative factor that multiplies both lines slopes such that the resulting points are equal.
Given:
A = Point A1 + m1 × scaling_factor
B = Point B1 + m2 × scaling_factor
where scaling_factor is the common scaling factor, and m1 and m2 the slopes:
m1 = Point A2 - Point A1
m2 = Point B2 - Point B1
In our cases, since the horizontal distance between two points is simply 1, our lines slopes are equal to their vertical distance (rise).
Under the event of a cross, there exists a scaling_factor satisfying A = B , which allows us to directly compute our intersection value. The solution is given by:
scaling_factor = (B1 - A1)/(m1 - m2)
As such our intersection value can be given by the following equivalent calculations:
(1) A1 + m1 × (B1 - A1)/(m1 - m2)
(2) B1 + m2 × (B1 - A1)/(m1 - m2)
(3) A2 - m2 × (A2 - B2)/(m1 - m2)
(4) B2 - m2 × (A2 - B2)/(m1 - m2)
The proposed functions use the third calculation.
This approach is equivalent to expressions using the classical line equation, with:
slope1 × x + intercept1 = slope2 × x + intercept2
By solving for x , the intersection point is obtained by evaluating any of the line equations for the obtained x solution.
🔶 APPLICATIONS
The intersection point of two crossing lines might lead to interesting applications and creations, in this section various information/tools derived from the proposed calculations are presented.
This supplementary material is available within the script.
🔹 Intersections As Support/Resistances
The script allows extending the lines of the intersection value when a cross is detected, these extended lines could have applications as support/resistance lines.
🔹 Using The Scaling Factor
The core of the proposed calculation method is the common scaling factor, which can be used to return useful information, such as the position of the cross relative to the x coordinates of a line.
The above image highlights two moving averages (in green and red), the cross-interval areas are highlighted in blue, and the intersection point is highlighted as a blue line.
The pane below shows a bar plot displaying:
1 - scaling factor = 1 -
Values closer to 1 indicate that the cross location is closer to x2 (the right coordinate of the lines), while values closer to 0 indicate that the cross location is closer to x1 .
🔹 Intersection Matrix
The main proposed functions of this challenge focus on the crossings between two series of values, however, we might be interested in applying this over a collection of series.
We can see in the image above how the lines connecting two points intersect with each other, we can construct a matrix populated with the intersection value of two corresponding lines. If (X, Y) represents the intersection value between lines X and Y we have the following matrix:
| Line A | Line B | Line C | Line D |
-------|--------|--------|--------|--------|
Line A | | (A, B) | (A, C) | (A, D) |
Line B | (B, A) | | (B, C) | (B, D) |
Line C | (C, A) | (C, B) | | (C, D) |
Line D | (D, A) | (D, B) | (D, C) | |
We can see that the upper triangular part of this matrix is redundant, which is why the script does not compute it. This function is provided in the script as intersectionMatrix :
//@function Return the N * N intersection matrix from an array of values
//@param array_series (array) array of values, requires an array supporting historical referencing
//@returns (matrix) Intersection matrix showing intersection values between all array entries
In the script, we create an intersection matrix from an array containing the outputs of simple moving averages with a period in a specific user set range and can highlight if a simple moving average of a certain period crosses with another moving average with a different period, as well as the intersection value.
🔹 Magnification Glass
Crosses on a chart can be quite small and might require zooming in significantly to see a detailed picture of them. Using the obtained scaling factor allows reconstructing crossing events with an higher resolution.
A simple supplementary zoomIn function is provided to this effect:
//@function Display an higher resolution representation of intersecting lines
//@param source1 (float) source value 1
//@param source2 (float) source value 2
//@param css1 (color) color of source 1 line
//@param css2 (color) color of source 2 line
//@param intersec_css (color) color of intersection line
//@param area_css (color) color of box area
Users can obtain a higher resolution by modifying the provided "Resolution" setting.
The function returns a higher resolution representation of the most recent crosses between two input series, the intersection value is also provided.
Monthly beta (5Y monthly) with multi-timeframe supportThe PROPER way to calculate beta for a stock using monthly price returns . None of this nonsense using daily returns and sliding windows as done by other scripts...
Works on any timeframe.
This script has been checked against 100s of stocks on Yahoo finance and Zacks research data and matches 100% (some rounding error as this script is kept updated live on unconfirmed monthly bars).
You can check for yourself:
Zacks fundamentals - beta
The script calculates beta using the Variance-Covariance Method as described on Investopedia
How to calculate Beta
Anchored Average Price by Atilla Yurtseven (AAP)Anchored Average Price indicator is designed to pinpoint a specific date and price in a given financial instrument's price chart. Once anchored to the desired date and price level, the script calculates and displays the average price from that anchor point to the current day.
Features
Customizable Source: Allows users to choose the source data for calculations. By default, it uses hlc3, which is the average of high, low, and close prices.
Start Date Input: The script includes a timestamp-based input that allows the user to specify the anchor date easily.
Customizable Color: Users can change the color of the plotted average line, adding an additional layer of customization to the visual representation.
Code Mechanics
Initialization: Declares the variables and arrays required for calculations and display. The array is used to store price data.
Condition Check: Only starts storing and calculating data if the chart's time is equal to or greater than the user-defined start date.
Data Storing: Once the condition is met, the script pushes the src price data into the array for future averaging.
Average Calculation: It calculates the average price of the values stored in the array.
Data Clearing: If the condition is not met, the array is cleared, and no average is plotted.
Plotting: The average price is plotted on the chart with the user-defined color.
By incorporating these features and mechanics, AAP provides traders and investors with a powerful tool for assessing average prices anchored to a specific date or swing.
Disclaimer:
This TradingView script is intended for educational and informational purposes only and should not be considered as investment or trading advice. Past performance is not indicative of future results. Trading and investing carry a high level of risk, and you should consult with a qualified financial advisor before making any financial decisions. The creator of this script, Atilla Yurtseven, is not responsible for any losses or damages incurred as a result of using this script.
Trade smart, stay safe
Atilla Yurtseven
VWAP (Any Anchor)Hello Traders,
Introduction:
The Volume Weighted Average Price (VWAP) is a powerful trading indicator used to gauge the average price at which an asset has traded, weighted by volume, over a specific period.
One of the key factors that can significantly impact the effectiveness of VWAP is the concept of "anchoring." In this TradingView indicator script description, we'll explore the concept of anchoring and how it's integrated into a customizable VWAP indicator.
Understanding Anchoring:
Anchoring in VWAP refers to selecting a specific point in time from which the VWAP calculation begins.
This "anchor point" serves as the starting reference for VWAP, and it can substantially impact the indicator's behavior and interpretation.
Anchoring allows traders to adapt VWAP to different trading strategies and scenarios.
Here are some common anchor points used in the script and their significance:
1. Time-Based Anchors: Traders often anchor VWAP to specific times of the trading day, such as the market open (e.g., 9:30 am EST) or close (e.g., 4:00 pm EST).
You could add in the script any time-based anchor you think is relevant for your trading.
2. Event-Based Anchors: Anchoring can also be based on specific market events.
For example, some traders anchor VWAP to events like "3 Consecutive Green Candles" or "Supertrend" direction changes.
Feel free to adapt the script here and add the relevant events-based anchor for your trading.
3. Multi-Timeframe Anchoring: Traders can anchor VWAP on different timeframes, allowing them to analyze price and volume interactions across various horizons.
This flexibility is especially valuable for swing traders adapting to longer-term trends.
Anchor Selection
Traders can choose from various anchor points, including time-based, event-based, and even an "External Connector" for flexibility in adapting VWAP to specific scenarios.
The External connector is the output from another script used in this VWAP script.
Your script may have a condition being “true” whenever a signal is printed - you can use this signal as the anchor for the VWAP.
Conclusion:
Understanding anchoring in VWAP is essential for traders using this indicator effectively.
Choosing and customizing anchor points empowers traders to adapt VWAP to their specific trading styles and strategies.
Whether focused on intraday precision or analyzing longer-term trends, a customizable VWAP indicator with flexible anchoring options can be valuable to your trading toolkit.
Tailor your VWAP to your unique needs and gain deeper insights into market trends and price action.
Made with love
Dave
Spot-Vol CorrelationSpot-Vol Correlation Script Guide
Purpose:
This TradingView script measures the correlation between percentage changes in the spot price (e.g., for SPY, an ETF that tracks the S&P 500 index) and the changes in volatility (e.g., as indicated by the VIX, the Volatility Index). Its primary objective is to discern whether the relationship between spot price and volatility behaves as expected ("normal" condition) or diverges from the expected pattern ("abnormal" condition).
Normal vs. Abnormal Correlation:
Normal Correlation: Historically, the VIX (or volatility) and the spot price of major indices like the S&P 500 have an inverse relationship. When the spot price of the index goes up, the VIX tends to go down, indicating lower volatility. Conversely, when the index drops, the VIX generally rises, signaling increased volatility.
Abnormal Correlation: There are instances when this inverse relationship doesn't hold, and both the spot price and the VIX move in the same direction. This is considered an "abnormal" condition and might indicate unusual market dynamics, potential uncertainty, or impending shifts in market sentiment.
Using the Script:
Inputs:
First Symbol: This is set by default to VIX, representing volatility. However, users can input any other volatility metric they prefer.
Second Symbol: This is set to SPY by default, representing the spot price of the S&P 500 index. Like the first symbol, users can substitute SPY with any other asset or index of their choice.
Length of Calculation Period: Users can define the lookback period for the correlation calculation. By default, it's set to 10 periods (e.g., days for a daily chart).
Upper & Lower Bounds of Normal Zone: These parameters define the range of correlation values that are considered "normal" or expected. By default, this is set between -0.60 and -1.00.
Visuals:
Correlation Line: The main line plot shows the correlation coefficient between the two input symbols. When this line is within the "normal zone", it indicates that the spot price and volatility are inversely correlated. If it's outside this zone, the correlation is considered "abnormal".
Green Color: Indicates a period when the spot price and VIX are behaving as traditionally expected (i.e., one rises while the other falls).
Red Color: Denotes a period when the spot price and VIX are both moving in the same direction, which is an abnormal condition.
Shaded Area (Normal Zone): The area between the user-defined upper and lower bounds is shaded in green, highlighting the range of "normal" correlation values.
Interpretation:
Monitor the color and position of the correlation line relative to the shaded area:
If the line is green and within the shaded area, the market dynamics are as traditionally expected.
If the line is red or outside the shaded area, users should exercise caution as this indicates a divergence from typical behavior, which can precede significant market moves or heightened uncertainty.
BTC hash rate oscillatorOVERVIEW:
This script looks to identify entry point opportunities when moving averages over Bitcoin's hash rate are indicative of Miner capitulation. The script implements an oscillator based on Charles Capriole's "Hash Ribbons & Bitcoin Bottoms" concept. It analyses the short-term and long-term moving averages of Bitcoin's hash rate and then identifies potential entry opportunities from this.
KEY FEATURES:
Signal Generation: The script identifies entry points when the short-term moving average crosses under the long-term moving average and the rate of change falls below a specified threshold. These conditions suggest potential trading opportunities.
Historical Signals: Optionally the script displays historical signals, indicating past instances where hash rate conditions suggested favourable entry points. Users can also assess the script's historical performance.
USAGE:
The generated opportunities can be used as potential entry points for BTC. The script provides visual cues on the chart (blue labels above the miner capitulation zones) for identification of signals. Customisable moving average lengths and threshold values are supported, which allow adaptation to various strategies.
CONSIDERATIONS:
Validation: It's recommended that careful backtesting over historical data be done before acting on any identified opportunities.
User Discretion: Trading decisions should not rely solely on this script. Users should exercise their judgment and consider market conditions.
Note: This script identifies opportunities based on historical data and should be used with caution, as past performance is not indicative of future results.
Volume Delta Trailing Stop [LuxAlgo]The ' Volume Delta Trailing Stop ' indicator uses Lower Time Frame (LTF) volume delta data which can provide potential entries together with a Volume-Delta based Trailing Stop-line .
🔶 USAGE
Our 'Volume Delta Trailing Stop' script can show potential entries/Stop Loss lines
A trigger line needs to be broken before a position is taken, after which a Volume Delta-controlled Trailing Stop-line is created:
🔶 DETAILS
🔹 Volume rises when bought or sold
🔹 When the opening price appears on the chart, a buy/sell order has been executed.
If that order is less than the available supply of that particular price, volume will rise, without moving the price.
🔹 When the opening price is the same as the closing price, the volume of that bar can be seen as "neutral volume" (nV); nor "up", nor "down" volume.
Example
A buy order doesn't fill the first available supply in the order book. This price will be the opening price with a certain volume.
When at closing time, price still hasn't moved (the first available supply in the order book isn't filled, or no movement downwards),
the closing price will be equal to the opening price, but with volume. This can be seen as "neutral volume (nV)".
🔹 Delta Volume (ΔV): this is "up volume" minus "down volume"
🔹 Standard volume is colored red when closing price is lower than opening price ( = "down volume").
🔹 Standard volume is colored green when closing price is higher OR equal (nV) than opening price ( = "up volume").
🔹 Neutral Volume
The "Neutral-Volume" is considered "Up-Volume" - setting will dictate whether nV is considered as green 'buy' volume or not.
🔶 EXAMPLE
29 July 10:00 -> 10:05, chart timeframe 5 minutes, open 29311.28, close 29313.89
close > open, so the volume (39.55) is colored green ("up volume").
(The Volume script used in the following examples is the open-source publication Volume Columns w. Alerts (V) from LucF )
Let's zoom to the 1-minute TF:
The same period is now divided into more bars, volume direction (color) is dependable on the difference between open and close.
Counting up and down volume gives a more detailed result, it remains in an upward direction though):
(ΔV = +15.51)
Let's further zoom in to the 1-second TF:
The same period is now divided into even more bars (more possibility for changing direction on each bar)
Here we see several bars that haven't moved in price, but they have volume ("neutral" volume).
(neutral volume is coloured light green here, while up volume is coloured darker green)
When we count all green and red volume bars, the result is quite different:
(ΔV = -0.35)
In total more volume is found when price went downwards, yet price went up in these 5 minutes.
-> This is the heart of our publication, when this divergence occurs, you can see a barcolor changement:
• orange: when price went up, but LTF Volume was mainly in a downward direction.
• blue: when price went down, but LTF Volume was mainly in an upwards direction.
When we split the green "up volume" into "up" and "neutral", the difference is even higher
(here "neutral volume" is colored grey):
(ΔV = -12.76; "up" - "down")
🔶 CONCEPTS
bullishBear = current bar is red but LTF volume is in upward direction -> blue bar
bearishBull = current bar is green but LTF volume is in downward direction -> orange bar
🔹 Potential positioning - forming of Trigger-line
When not in position, the script will wait for a divergence between price and volume direction. When found, a Trigger-line will appear:
• at high when a blue bar appears ( bullishBear ).
• at low when an orange bar appears ( bearishBull ).
Next step is when the Trigger-line is broken by close or high/low (settings: Trigger )
Here, the closing price went under the grey Trigger-line -> bearish position:
🔹 Trailing Stop-line
When the Trigger-line is broken, the Trailing Stop-line (TS-line) will start:
• low when bullish position
• high when bearish position
You can choose (settings -> Trigger -> Close or H/L ) whether close price or high/low should break the Trigger-line
When alerts are enabled ("Any alert() function call"), you'll get the following message:
• ' signal up ' when bullish position
• ' signal down' when bearish position
After that, the TS-line will be adjusted when:
• a blue bullishBear bar appears when in bullish position -> lowest of {low , previous blue bar's high or orange bar's low}
• an orange bearishBull bar appears when in bearish position -> highest of {high, previous blue bar's high or orange bar's low}
When alerts are enabled ("Any alert() function call"), and the TS-line is broken, you'll get the following message:
• ' TS-line broken down ' when out bullish position
• ' TS-line broken up ' when out bearish position
🔹 Reference Point
Default the direction of price will be evaluated by comparing closing price with opening price.
When open and close are the same, you'll get "neutral volume".
You can use "previous close" instead (as in built-in volume indicator) to include gaps.
If close equals open , but close is lower than previous close , it will be regarded as " down volume ",
similar, when close is higher than previous close , it will be regarded as " up volume "
Note, the setting applies for the current timeframe AND Lower timeframe:
Based on: " open " (close - open)
Based on: " previous close " (close - previous close)
🔹 Adjustment
When the TS-line changes, this can be adjusted with a percentage of price , or a multiple of " True Range "
Default (Δ line -> Adjustment - 0)
Δ line -> Adjustment 0.03% (of price)
Δ line -> Mult of TR (10)
🔶 SETTINGS
🔹 LTF: choose your Lower TimeFrame: 1S (seconds), 5S, 10S, 15S, 30S, 1 minute)
🔹 Trigger: Choose the trigger for breaking the Trigger-line ; close or H/L (high when bullish position, low when bearish position)
🔹 Δ line ( Trailing Stop-line ): add/subtract an adjustment when the TS-line changes ( default: Adjustment ):
• Adjustment ( default: 0 ): add/subtract an extra % of price
• Mult of TR : add/subtract a multiple of True Range
🔹 Based on: compare closing price against:
• open
• previous close
🔹 "Neutral-Volume" is considered "Up-Volume" : this setting will dictate whether nV is considered as green 'buy' volume or not.
🔶 CONSIDERATIONS
🔹 The lowest LTF (1S) will give you more detail and will get data close to tick data.
However, a maximum of 100,000 intrabars can be used in calculations .
This means on the daily chart you won't see anything since 1 day ~ 86400 seconds. (just over 1 bar)
-> choose a lower chart timeframe, or choose a higher LTF (5S, 10S, ... 1 minute)
🔹 Always choose a LTF lower than the current chart timeframe.
🔹 Pine Script™ code using this request.security_lower_tf() may calculate differently on historical and real-time bars, leading to repainting .
Filtered Volume Profile [ChartPrime]The "Filtered Volume Profile" is a powerful tool that offers insights into market activity. It's a technical analysis tool used to understand the behavior of financial markets. It uses a fixed range volume profile to provide a histogram representing how much volume occurred at distinct price levels.
Profile in action with various significant levels displayed
How to Use
The script is designed to analyze cumulative trading volumes in different price bins over a certain period, also known as `'lookback'`. This lookback period can be defined by the user and it represents the number of bars to look back for calculating levels of support and resistance.
The `'Smoothing'` input determines the degree to which the output is smoothed. Higher values lead to smoother results but may impede the responsiveness of the indicator to rapid changes in volatility.
The `'Peak Sensitivity'` input is used to adjust the sensitivity of the script's peak detection algorithm. Setting this to a lower value makes the algorithm more sensitive to local changes in trading volume and may result in "noisier" outputs.
The `'Peak Threshold'` input specifies the number of bins that the peak detection mechanism should account for. Larger numbers imply that more volume bins are taken into account, and the resultant peaks are based on wider intervals.
The `'Mean Score Length'` input is used for scaling the mean score range. This is particularly important in defining the length of lookback bars that will be used to calculate the average close price.
Sinc Filter
The application of the sinc-filter to the Filtered Volume Profile reduces the risk of viewing artefacts that may misrepresent the underlying market behavior. Sinc filtering is a high-quality and sharp filter that doesn't manifest any ringing effects, making it an optimal choice for such volume profiling.
Histogram
On the histogram, the volume profile is colored based on the balance of bullish to bearish volume. If a particular bar is more intense in color, it represents a larger than usual volume during a single price bar. This is a clear signal of a strong buying or selling pressure at a particular price level.
Threshold for Peaks
The `peak_thresh` input determines the number of bins the algorithm takes in account for the peak detection feature. The 'peak' represents the level where a significant amount of volume trading has occurred, and usually is of interest as an indicative of support or resistance level.
By increasing the `peak_thresh`, you're raising the bar for what the algorithm perceives as a peak. This could result in fewer, but more significant peaks being identified.
History of Volume Profiles and Evolution into Sinc Filtering
Volume profiling has a rich history in market analysis, dating back to the 1950s when Richard D. Wyckoff, a legendary trader, introduced the concept of volume studies. He understood the critical significance of volume and its relationship with market price movement. The core of Wyckoff's technical analysis suite was the relationship between prices and volume, often termed as "Effort vs Results".
Moving forward, in the early 1800s, the esteemed mathematician J. R. Carson made key improvements to the sinc function, which formed the basis for sinc filtering application in time series data. Following these contributions, trading studies continued to create and integrate more advanced statistical measures into market analysis.
This culminated in the 1980s with J. Peter Steidlmayer’s introduction of Market Profile. He suggested that markets were a function of continuous two-way auction processes thus introducing the concept of viewing markets in price/time continuum and price distribution forms. Steidlmayer's Market Profile was the first wide-scale operation of organized volume and price data.
However, despite the introduction of such features, challenges in the analysis persisted, especially due to noise that could misinform trading decisions. This gap has given rise to the need for smoothing functions to help eliminate the noise and better interpret the data. Among such techniques, the sinc filter has become widely recognized within the trading community.
The sinc filter, because of its properties of constructing a smooth passing through all data points precisely and its ability to eliminate high-frequency noise, has been considered a natural transition in the evolution of volume profile strategies. The superior ability of the sinc filter to reduce noise and shield against over-fitting makes it an ideal choice for smoothing purposes in trading scripts, particularly where volume profiling forms the crux of the market analysis strategy, such as in Filtered Volume Profile.
Moving ahead, the use of volume-based studies seems likely to remain a core part of technical analysis. As long as markets operate based on supply and demand principles, understanding volume will remain key to discerning the intent behind price movements. And with the incorporation of advanced methods like sinc filtering, the accuracy and insight provided by these methodologies will only improve.
Mean Score
The mean score in the Filtered Volume Profile script plays an important role in probabilistic inferences regarding future price direction. This score essentially characterizes the statistical likelihood of price trends based on historical data.
The mean score is calculated over a configurable `'Mean Score Length'`. This variable sets the window or the timeframe for calculation of the mean score of the closing prices.
Statistically, this score takes advantage of the concept of z-scores and probabilities associated with the t-distribution (a type of probability distribution that is symmetric and bell-shaped, just like the standard normal distribution, but has heavier tails).
The z-score represents how many standard deviations an element is from the mean. In this case, the "element" is the price level (Point of Control).
The mean score section of the script calculates standard errors for the root mean squared error (RMSE) and addresses the uncertainty in the prediction of the future value of a random variable.
The RMSE of a model prediction concerning observed values is used to measure the differences between values predicted by a model and the values observed.
The lower the RMSE, the better the model is able to predict. A zero RMSE means a perfect fit to the data. In essence, it's a measure of how concentrated the data is around the line of best fit.
Through the mean score, the script effectively predicts the likelihood of the future close price being above or below our identified price level.
Summary
Filtered Volume Profile is a comprehensive trading view indicator which utilizes volume profiling, peak detection, mean score computations, and sinc-filter smoothing, altogether providing the finer details of market behavior.
It offers a customizable look back period, smoothing options, and peak sensitivity setting along with a uniquely set peak threshold. The application of the Sinc Filter ensures a high level of accuracy and noise reduction in volume profiling, making this script a reliable tool for gaining market insights.
Furthermore, the use of mean score calculations provides probabilistic insights into price movements, thus providing traders with a statistically sound foundation for their trading decisions. As trading markets advance, the use of such methodologies plays a pivotal role in formulating effective trading strategies and the Filtered Volume Profile is a successful embodiment of such advancements in the field of market analysis.
Volume Delta Methods (Chart) [LuxAlgo]The Volume Delta Methods (Chart) aims at highlighting the relationship between Buying or Selling Pressure and Price by presenting Volume Delta , and multiple derivatives of volume delta such as Cumulative Volume Delta (CVD) , Buy/Sell Volume , Total Volume , etc on top of the Main Price Chart .
The script uses two different intrabar (chart bars at a lower timeframe than the chart's) analyses to achieve the most approximate calculation of the volume delta and offers fully customizable visualization features using various types of charts such as line, area, baseline, candles, and histograms.
The script allows traders to see "within" the price bar, provides more transparency over a traditional volume histogram, and also allows users to monitor price and volume activity together.
🔶 USAGE
Volume delta is the difference between the buying volume and the selling volume, in other words, it is the net demand at a given bar allowing traders a more detailed insight when analyzing the market sentiment. A volume delta greater than 0 indicates more buying than selling pressure, whereas a volume delta less than 0 indicates more selling than buying pressure.
Volume delta plus total volume (regular volume) adds additional insight, where the total volume represents all the recorded trades for security that occurs in a given time interval. It is a measurement of the participation, enthusiasm, and interest in a given security.
Divergences occur when the polarity of the volume delta does not match the polarity of the price bar.
The users can enable the display of the numerical values of the volume delta.
Cumulative Volume Delta (CVD) is a way of using Volume Delta to measure an asset’s mid-to-long-term buy and sell pressure. It compares buying and selling volume over time and offers insights into market behavior at specific price points. Cumulative Volume Delta is effectively a continuation of the principles of Volume Delta but involves longer time periods and offers different trading signals.
Like the Volume Delta, the Cumulative Volume Delta (CVD) indicator measures the relationship between buy and sell pressure but does not focus on one specific candle in particular. Rather, the Cumulative Volume Delta takes the relative differences and combines them all over an extended time period.
Users have the ability Cumulative Volume Delta in various types of charts along with an optional smoothing line.
Placed above price bars options.
Interacting with price bar options helps to better identify CVD Divergences.
CVD Divergences
CVD reveals buying and selling trends that may or may not complement the price trend of the asset itself. Sometimes, price trends can run in contrast to trading behavior — sell volume can be dominant while the spot price is rising, and vice versa.
🔶 DETAILS
Theoretically, volume delta is calculated by taking the difference between the volume that traded at the ask price and the volume that traded at the bid price. The most precise calculation method uses tick data but requires huge amounts of data on historical bars, which usually limits the historical depth of charts. This indicator uses two different intrabar analysis methods for the volume delta calculation, where intrabars are chart bars at a lower timeframe than the chart's timeframe:
The logic used to assign intrabar volume to the "up" or "down".
- Buying/Selling pressure of the intrabar option (default)
(close - low) > (high - close) => UP
(close - low) < (high - close) => DOWN
(close - low) = (high - close) => close - previous close is used
- Polarity of the intrabar option
close > open => UP
close < open => DOWN
close = open => close - previous close is used
🔶 SETTINGS
The script takes into account user-defined parameters and performs calculations and presentations based on them, where detailed usage for each user-defined input parameter in indicator settings is provided with the related input's tooltip.
🔹 Calculation Settings
Calculation Method: Calculation method selection, available options 'Intrabar Buying/Selling Pressure' or 'Intrabar Polarity'.
Lower Timeframe Precision: Sets indicator precision, default option is 'Auto'.
🔹 Presentation Settings
Volume Delta: Toggles the visibility of the Volume Delta
Cumulative Volume Delta: Toggles the visibility of the Cumulative Volume Delta
Volume Delta/Price Bar Divergences: Toggles the visibility of the Volume Delta Divergences
Volume Delta Numerical Values: Toggles the visibility of the Volume Delta Numerical Values
🔹 Other Features
Volume MA: Toggles the visibility of the Volume Moving Average
CVD Smoothing: Toggles the visibility of the Cumulative Volume Delta's Smoothing Line
🔹 Volume Delta, Others
Volume Delta: Positive, Negative: Volume Delta color customization options
Volume Histogram: Growing, Falling: Volume Histogram color customization options
Display Length: Length of the visual objects presented with this indicator
Volume Delta Height: Volume delta height customization options
Volume Histogram Height: Volume histogram height customization options
Vertical Offset: Volume delta and histogram vertical positioning customization options
🔹 Cumulative Volume Delta, Others
CVD Line, Width, and Color: Cumulative Volume Delta - Line Width and Color customization options
CVD Area/Baseline, Gradient Coloring: Cumulative Volume Delta - Area and Baseline background gradient coloring customization options
CVD Candles Color, Positive, and Negative: Cumulative Volume Delta - Candles coloring customization options
CVD/Smoothing Background: Highlights and adjusts the transparency of the area between the Cumulative Volume Delta Line and it's Smoothing Line
🔶 RELATED SCRIPTS
Liquidity-Sentiment-Profile
EquiVolume
Volume-Footprint
Previous Day ValuesSay hello to the Previous Day Values Indicator, your new best friend in the world of trading. This script, written in the powerful Pine Script version 5, is designed to keep you informed about essential price levels from the previous day's trading session, right on your TradingView chart.
Here's how it works:
The script creates horizontal lines on your chart to represent the previous day's high, low, close, and VWAP (Volume Weighted Average Price) levels. Each level is color-coded for easy identification – red for the high, green for the low, blue for the close, and yellow for the VWAP. The lines extend to the right edge of the chart, allowing you to gauge where the current price stands in relation to these crucial levels.
But what makes this script unique is its ability to update dynamically with each new trading day. At the start of a new day, the script clears the lines from the previous day and draws new ones based on the latest data. It uses the request.security function to fetch the previous day's data for the current symbol, so you can rest assured that your information is always up-to-date.
There's also an added layer of customization built into this script. We understand that different traders might want to focus on different things, which is why we've included toggle options for each value. You can choose whether to display the previous day's high, low, close, or VWAP values, or any combination thereof. Just head to the settings and switch on/off the values you want to see.
The labels for these lines are placed further to the right of the screen for easy reading, without cluttering your chart. And if you're worried about distinguishing between them, don't be! Each label is color-matched to its corresponding line, so you'll know at a glance which is which.
In summary, the Previous Day Values Indicator is a versatile tool that can help you keep track of key price levels from the past trading day. Whether you're a seasoned trader or a beginner, this script is sure to be a valuable addition to your toolkit. Happy Trading!
REVE Cohorts - Range Extension Volume Expansion CohortsREVE Cohorts stands for Range Extensions Volume Expansions Cohorts.
Volume is divided in four cohorts, these are depicted in the middle band with colors and histogram spikes.
0-80 percent i.e. low volumes; these get a green color and a narrow histogram bar
80-120 percent, normal volumes, these get a blue color and a narrow histogram bar
120-200 percent, high volume, these get an orange color and a wide histogram bar
200 and more percent is extreme volume, maroon color and wide bar.
All histogram bars have the same length. They point to the exact candle where the volume occurs.
Range is divided in two cohorts, these are depicted as candles above and below the middle band.
0-120 percent: small and normal range, depicted as single size, square candles
120 percent and more, wide range depicted as double size, rectangular candles.
The range candles are placed and colored according to the Advanced Price Algorithm (published script). If the trend is up, the candles are in the uptrend area, which is above the volume band, , downtrend candles below in the downtrend area. Dark blue candles depict a price movement which confirms the uptrend, these are of course in the uptrend area. In this area are also light red candles with a blue border, these depict a faltering price movement countering the uptrend. In the downtrend area, which is below the volume band, are red candles which depict a price movement confirming the downtrend and light blue candles with a red border depicting price movement countering the downtrend. A trend in the Advanced Price Algorithm is in equal to the direction of a simple moving average with the same lookback. The indicator has the same lagging.as this SMA.
Signals are placed in the vacated spaces, e.g. during an uptrend the downtrend area is vacated.
There are six signals, which arise as follows:
1 Two blue triangles up on top of each other: high or extreme volume in combination with wide range confirming uptrend. This indicates strong and effective up pressure in uptrend
2 Two pink tringles down on top of each other: high or extreme volume in combination with wide range down confirming downtrend. This indicates strong and effective down pressure in downtrend
3 Blue square above pink down triangle down: extreme volume in combination with wide range countering uptrend. This indicates a change of heart, down trend is imminent, e.g. during a reversal pattern. Down Pressure in uptrend
4 Pink square below blue triangle up: extreme volume in combination with wide range countering downtrend. This indicates a change of heart, reversal to uptrend is imminent. Up Pressure in downtrend
5 single blue square: a. extreme volume in combination with small range confirming uptrend, b. extreme volume in combination with small range countering downtrend, c. high volume in combination with wide range countering uptrend. This indicates halting upward price movement, occurs often at tops or during distribution periods. Unresolved pressure in uptrend
6 Single pink square: a extreme volume in combination with small range confirming downtrend, b extreme volume in combination with small range countering uptrend, c high volume in combination with wide range countering downtrend. This indicated halting downward price movement. Occurs often at bottoms or during accumulation periods. Unresolved pressure in downtrend.
The signals 5 and 6 are introduced to prevent flipping of signals into their opposite when the lookback is changed. Now signals may only change from unresolved in directional or vice versa. Signals 3 and 4 were introduced to make sure that all occurrences of extreme volume will result in a signal. Occurrences of wide volume only partly lead to a signal.
Use of REVE Cohorts.
This is the indicator for volume-range analyses that I always wanted to have. Now that I managed to create it, I put it in all my charts, it is often the first part I look at, In my momentum investment system I use it primarily in the layout for following open positions. It helps me a lot to decide whether to close or hold a position. The advantage over my previous attempts to create a REVE indicator (published scripts), is that this version is concise because it reports and classifies all possible volumes and ranges, you see periods of drying out of volume, sequences of falter candles, occurrences of high morning volume, warning and confirming signals.. The assessment by script whether some volume should be considered low, normal, high or extreme gives an edge over using the standard volume bars.
Settings of REVE Cohorts
The default setting for lookback is ‘script sets lookback’ I put this in my indicators because I want them harmonized, the script sets lookback according to timeframe. The tooltip informs which lookback will be set at which timeframe, you can enable a feedback label to show the current lookback. If you switch ‘script sets lookback’ off, you can set your own preferred user lookback. The script self-adapts its settings in such a way that it will show up from the very first bar of historical chart data, it adds volume starting at the fourth bar.
You can switch off volume cohorts, only range candles will show while the middle band disappears. Signals will remain if volume is present in the data. Some Instruments have no volume data, e.g. SPX-S&P 500 Index,, then only range candles will be shown.
Colors can be adapted in the inputs. Because the script calculates matching colors with more transparency it is advised to use 100 percent opacity in these settings.
Take care, Eykpunter
[DisDev] D-I-Y Gridbot🟩 This script is a “do-it-yourself” Grid Bot Simulator, used for visualizing support and resistance levels. Prices are divided into grids, or trade zones, that will trigger signals each time a new zone is entered. During ranging markets, each transaction is followed by a “take profit.” As the market starts to trend, transactions are stacked (compare to DCA ), until the market consolidates. No signals are triggered above the upper gridline or below the lower gridline. Unlike the previous version, all grids may be adjusted in real-time by dragging the gridlines up and down to the desired support and resistance levels.
When adding the indicator to a new chart, you must choose six grid levels by clicking on the desired support or resistance price. You can change all of these levels at any time directly on the chart.
⚡ OVERVIEW ⚡
The D-I-Y Gridbot is an interactive tool designed for visualizing support and resistance levels. As a continuation of the original Gridbot Simulator , which has received significant recognition on TradingView, earning over 4000 boosts and an Editor's Pick status. This tool serves not only as an evolved version of its predecessor, but also as an open-source template for developing future gridbots. It aims to foster discussions and facilitate innovations around grid-trading strategies.
One of the new features of this gridbot is the real-time adjustability of all gridlines. Users can move these lines up and down to set their desired support and resistance levels in response to changing market conditions. Additionally, the D-I-Y Gridbot is compatible with multiple timeframes and can be used on most TradingView charts.
Drag gridlines up or down to desired price level.
Key Features 🔑
All gridlines are adjustable in real-time, directly on the chart
Signals can be filtered by a customizable moving average or by VWAP
Customizable support and resistance levels
Potentially increases profitability in ranging markets
Benefits 💸
Customizable Support and Resistance Levels : The D-I-Y Gridbot allows users to set their preferred support and resistance levels, which can be changed at any time directly on the chart. This provides users with the ability to customize their trading parameters based on their strategy and risk tolerance.
Various Trading Strategies : The D-I-Y Gridbot supports various trading strategies, including Mean Reversion, Ranging Markets, and Dollar-cost averaging (DCA). This allows users to capitalize on price reversals, execute buy and sell orders at predetermined levels, and buy more of an asset as the price falls, respectively.
Multi-Timeframe and Versatility : The D-I-Y Gridbot is compatible with multiple timeframes and can be used on any TradingView chart.
Experimental and Educational : The D-I-Y Gridbot is considered a proof-of-concept tool that is both experimental and educational. This can provide traders with a deeper understanding of grid trading strategies and the ability to experiment with different trading parameters and strategies.
⚙️ CONFIGURATION & SETTINGS ⚙️
Inputs 🔧
Trigger : Candle location to trigger the signal. "Wick" will use either high or low, depending on the signal direction. "Close" will use the close price. “MA” will use the selected moving average or VWAP.
Confirmation : Market direction to confirm the candle trigger. "Reverse" will confirm the signal when the price crosses back over the trigger. "Breakout" will confirm when the price breaks out of the trigger.
Number of Support/Resistance zones : 1 = Only Top Grid is Support/Only Bottom Grid is Resistance. 2 = Top two grids are Resistance/Bottom two grids are Support. 3 = Top three grids are Resistance/Bottom three grids are Support
MA Type : Exponential Moving Average (EMA), Hull Moving Average (HMA), Simple Moving Average (SMA), Triple Exponential Moving Average (TEMA), Volume Weighted Moving Average (VWMA), Volume Weighted Average Price (VWAP)
MA Filter : Use Moving Average as a reversion filter for signals. When enabled, no buys when above MA, no sells when below. Use in conjunction with S/R zones to reduce false signals.
Allow Repeat Signals . When enabled, signals will reset when nearest gridline is triggered. When disabled, only one signal will be triggered per gridline.
Line/Fill colors
Gridlines . Adjusts gridline prices manually.
Left : Trigger = Wick. Confirm = Breakout. Buys are signaled when LOW breaks below gridline. Sells are triggered when HIGH breaks above gridline.
Right : Trigger = Close. Confirm = Breakout. Buys are signaled when the candle CLOSES below the gridline. Sells are triggered when the candle CLOSES above the gridline.
Left : Confirm=Breakout. Signals on breaking through the next gridline.
Right : Confirm=Reverse. Signals only when crossing back from the gridline.
S/R Zones=1. Upper gridline is Resistance / Lower is Support. Middle 4 are neutral.
S/R Zones = 3. Upper three gridlines are Resistance / Lower three are Support
Notes:
If gridlines are dragged out of order on a live chart, they will auto-sort into the correct order.
Price levels may be entered in settings, or adjusted in real-time directly on the chart.
When changing symbols, remember to adjust the gridlines to accommodate the new symbol.
Alerts 🔔
Users can set alerts based on their chosen parameters for triggers, confirmations, number of support/resistance zones, and smoothing type, enabling precise control over alert conditions.
💡 USAGE & STRATEGY 💡
Trading Strategies 📈
Mean Reversion: The script can be used to capitalize on price reversals back to the mean.
Ranging Markets: The script excels in ranging markets, executing buy and sell orders at predetermined levels.
Dollar-cost averaging (DCA): The script can be used to execute DCA orders, buying more of an asset as the price falls, and lowering the average cost per unit.
Timeframes and Symbols ⌚
Multi-Timeframe: The indicator is compatible with multiple timeframes.
Versatile: Can be used on any crypto trading pair on TradingView.
🤖 DETAILS & METHODOLOGY 🤖
Algorithm and Calculation 🛡️
Grids are set and adjusted when loading the indicator on the chart and may be customized anytime afterward by clicking and dragging the gridlines on the chart.
Gridlines are updated, sorted, and stored in a float array.
Signals are calculated based on candle trigger, market direction, and previous price level.
📚 ADDITIONAL RESOURCES 📚
Chart Examples 📊
S/R Zones = 3: Three Support and Three Resistance. Filter = 50-period Triple Exponential Moving Average (TEMA)
S/R Zones = 1: One Support, One Resistance, and Four Neutral Zones. Support Zones: Buys only. Resistance Zones: Sells only. Neutral Zones: Grid-dependent
When MA filter is enabled, Buys are only triggered below Moving Average, and Sells are only triggered above.
Trigger = Wick. Confirmation = Breakout. Buys are signaled when Low breaks above the next grid level. Sells are signaled when High breaks below the next grid level.
🚀 CONCLUSION 🚀
The D-I-Y Gridbot is a proof-of-concept, emphasizing its experimental and educational nature. In future versions, we will aim to incorporate concepts such as auto-adjusting grids and angled grids for trending markets. The script is designed to evolve through user feedback and suggestions, shaping its future iterations.
Credit: This is a continuation of the Gridbot series by xxattaxx-DisDev . Explicit permission was granted by user xxattaxx-disdev to re-use all Gridbot code and all materials without restrictions.
⚠️ DISCLAIMER ⚠️
This indicator is a proof-of-concept and is considered experimental and educational. When gridlines are drawn in hindsight, signals appear to be predictive and valid. Future results may always vary when the trend direction changes. Comments and suggestions are encouraged.
This indicator is provided as a tool for traders and should not be used as the sole basis for making trading decisions. Always conduct your own research and consider your risk tolerance before entering any trades.